.TH std::ends 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::ends \- std::ends

.SH Synopsis
   Defined in header <ostream>
   template< class CharT, class Traits >
   std::basic_ostream<CharT, Traits>& ends( std::basic_ostream<CharT, Traits>& os );

   Inserts a null character into the output sequence os as if by calling
   os.put(CharT()).

   This is an output-only I/O manipulator, it may be called with an expression such as
   out << std::ends for any out of type std::basic_ostream.

.SH Notes

   This manipulator is typically used with std::ostrstream, when the associated output
   buffer needs to be null-terminated to be processed as a C string.

   Unlike std::endl, this manipulator does not flush the stream.

.SH Parameters

   os - reference to output stream

.SH Return value

   os (reference to the stream after insertion of the null character).

.SH Example


// Run this code

 #include <cstdio>
 #include <strstream>

 int main()
 {
     std::ostrstream oss;
     oss << "Sample text: " << 42 << std::ends;
     std::printf("%s\\n", oss.str());
     oss.freeze(false); // enable memory deallocation
 }

.SH Output:

 Sample text: 42

.SH See also

   ostrstream            implements character array output operations
   (deprecated in C++98) \fI(class)\fP
   (removed in C++26)
